.class public abstract Lcom/nbi/location/LocationProvider;
.super Ljava/lang/Object;

# interfaces
.implements Lnbisdk/rh;


# static fields
.field public static final LOCATION_FIX_ACCURATE:I = 0x2

.field public static final LOCATION_FIX_FAST:I = 0x0

.field public static final LOCATION_FIX_NORMAL:I = 0x1

.field public static final STATE_DESTROY_PENDING:I = 0x2

.field public static final STATE_INITIALIZED:I = 0x3

.field public static final STATE_INITIALIZE_PENDING:I = 0x1

.field public static final STATE_OUT_OF_SERVICE:I = 0x9

.field public static final STATE_RESUME:I = 0x7

.field public static final STATE_SUSPENDED:I = 0x6

.field public static final STATE_TEMPORARILY_UNAVAILABLE:I = 0x8

.field public static final STATE_TRACKING_GPS:I = 0x5

.field public static final STATE_TRACKING_NETWORK:I = 0x4

.field public static final STATE_UNDEFINED:I

.field private static xz:Lcom/nbi/location/LocationProvider;


# direct methods
.method static constructor <clinit>()V
    .locals 1

    const/4 v0, 0x0

    sput-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    return-void
.end method

.method public constructor <init>()V
    .locals 0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static getInstance(Lcom/nbi/common/NBIContext;Lcom/nbi/location/LocationConfig;)Lcom/nbi/location/LocationProvider;
    .locals 1
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/nbi/location/LocationException;
        }
    .end annotation

    sget-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    if-nez v0, :cond_1

    new-instance v0, Lnbisdk/gf;

    invoke-direct {v0, p0, p1}, Lnbisdk/gf;-><init>(Lcom/nbi/common/NBIContext;Lcom/nbi/location/LocationConfig;)V

    sput-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    :cond_0
    :goto_0
    sget-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    return-object v0

    :cond_1
    if-eqz p0, :cond_0

    sget-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    check-cast v0, Lnbisdk/gf;

    invoke-virtual {v0, p0}, Lnbisdk/gf;->h(Lcom/nbi/common/NBIContext;)V

    goto :goto_0
.end method


# virtual methods
.method public abstract cancelGetLocation(Lcom/nbi/location/LocationListener;)V
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/nbi/location/LocationException;
        }
    .end annotation
.end method

.method public abstract getApiLevel()I
.end method

.method public abstract getOneFix(Lcom/nbi/location/LocationListener;I)V
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/nbi/location/LocationException;
        }
    .end annotation
.end method

.method public abstract getState()I
.end method

.method public onDestroy()V
    .locals 1

    const/4 v0, 0x0

    sput-object v0, Lcom/nbi/location/LocationProvider;->xz:Lcom/nbi/location/LocationProvider;

    return-void
.end method

.method public abstract startReceivingFixes(Lcom/nbi/location/LocationListener;)V
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/nbi/location/LocationException;
        }
    .end annotation
.end method

.method public abstract stopReceivingFixes(Lcom/nbi/location/LocationListener;)V
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/nbi/location/LocationException;
        }
    .end annotation
.end method
